1. Field of the Invention
The present invention relates generally to parametric modeling, and in particular, to a method, apparatus, and article of manufacture for modifying a parametrically defined model with an explicit modeler.
2. Description of the Related Art
Models may be created using parametric based modeling programs that maintain a history of operations used to create the model. Other direct/explicit modelers (i.e., modelers that do not maintain a history) may be used to edit/modify a model originally created using a parametric modeler. However, when such an edited model is opened back in a parametric modeler, if the geometry was edited, the feature history is lost. Such problems may be better understood with a description of prior art modelers and model editing.
With the evolution of software, designers have changed their fundamental approach to graphics design, moving from two-dimensional (2D) drawing systems to three-dimensional (3D) solid modeling systems. New software makes solid modeling technology available and affordable to virtually anyone.
Solid modeling is a technique that allows designers to create dimensionally accurate 3D solid models in a 3D space represented within a computer, rather than traditional 2D drawings. 3D solid models include significantly more engineering data than 2D drawings, including the volume, bounding surfaces, and edges of a design.
With the graphics capabilities of today's computers, these 3D solid models may be viewed and manipulated on a monitor. In addition to providing better visualization, 3D solid models may be used to automatically produce 2D drawing views, and can be shared with manufacturing applications and the like.
Some 3D solid modeling systems generate parametric feature-based models. A parametric feature-based model is comprised of intelligent features, such as holes, fillets, chamfers, etc. The geometry of the parametric feature-based model is defined by underlying mathematical relationships (i.e., parameters) rather than by simple unrelated dimensions, which makes them easier to modify. These systems preserve design intent and manage it after every change to the model.
Moreover, these features automatically change as the model is changed. The system computes any related changes to parts of the model that are dependent on a parameter, and automatically updates the entire model when the parameter is changed. Accordingly, the entire 3D model will update based on a new shape of a modified feature. In this regard, features in the model are recomputed based on modifications to parameters affecting such features. For example, a through-hole will always completely go through a specified part, even if the part's dimensions are changed to be bigger than the hole.
In parametric modelers, a history of how a particular object or body is created is created and maintained. In other words, the series of steps that were used to create the object/body is maintained in a history. Such steps can be modified at any point. However, to modify a particular step, the user is often required to search through a long history to find the step to modify.
In addition to parametric based modelers, 3D models may also be created/edited in a history-free (also known as “direct” or “explicit”) based modeler. In an explicit modeler, no history is maintained and the feature/model is not recomputed based on a particular face/body modification. The advantage to the explicit modeler is that the user does not need to find a specific step in order to modify a body. If a face needs to be changed, the user can simply select and move the face. If such a task was to be accomplished in a parametric modeler, with a complex model, it might take a very long time to find the spot in the history in order to modify it. Moreover, there may be constraints that conflict with the edit or there may be “downstream” feature failures. Such issues can make the edit of a parametric model difficult.
Often times, one or more users may utilize a combination of both parametric modelers and explicit modelers to accomplish a given task. For example, an original 3D model may be created in a parametric model and then edited using an explicit modeler (e.g., the parametrically created model is opened in an explicit modeling application). As a further example, downstream users that are not experts with a parametric modeling program (e.g., packaging personnel, manufacturing personnel, analyst, quality assurance personnel, etc.) may need to edit a parametric model provided by a design engineer (e.g., if the product as designed will not fit in the packaging, or the product cannot be manufactured with a fillet in a certain configuration, etc.). Such downstream users may utilize an explicit modeler to perform the desired edits.
Once edits are made in an explicit modeler, the design engineer may want to incorporate the changes from the explicit model into the original parametric based model. However, the edits from the explicit modeler may have removed various features from the history. Consequently, prior art embodiments fail to maintain a history and fail to provide the ability to interchangeably use an explicit modeler and parametric modeler. Further, even if the parametric model attempted to create new history features that recreate/generates the same shape/body/edit from the explicit modeler, it can be difficult/impossible to find such a set of edits to the parametric model.
In view of the above, what is needed is a mechanism that provides the ability to perform edits in an explicit modeler while accurately reflecting such edits by updating the history in a parametric modeler.